﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="SearchSettings.cs" company="DissingNelleman">
//   
// All rights reserved. </copyright>
// <summary>
//   The search settings.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace ServiceLibrary.Services.Queries
{
    using System;
    using System.Collections.Generic;
    using System.Runtime.Serialization;

    /// <summary>
    /// The search settings.
    /// </summary>
    [DataContract]
    public class SearchSettings
    {
        #region Public Properties

        /// <summary>
        /// Gets or sets the creation date from.
        /// </summary>
        [DataMember]
        public DateTime? CreationDateFrom { get; set; }

        /// <summary>
        /// Gets or sets the creation date to.
        /// </summary>
        [DataMember]
        public DateTime? CreationDateTo { get; set; }

        /// <summary>
        /// Gets or sets the i d_ equals.
        /// </summary>
        [DataMember]
        public Guid IDEquals { get; set; }

        /// <summary>
        /// Gets or sets the i d_ is in.
        /// </summary>
        [DataMember]
        public List<Guid> IDIsIn { get; set; }

        /// <summary>
        /// Gets or sets the id_ not_ equal.
        /// </summary>
        [DataMember]
        public Guid IdNotEqual { get; set; }

        /// <summary>
        /// Gets or sets the order by.
        /// </summary>
        [DataMember]
        public string OrderBy { get; set; }

        /// <summary>
        /// Gets or sets the skip.
        /// </summary>
        [DataMember]
        public int? Skip { get; set; }

        /// <summary>
        /// Gets or sets the sort ascending.
        /// </summary>
        [DataMember]
        public bool? SortAscending { get; set; }

        /// <summary>
        /// Gets or sets the take.
        /// </summary>
        [DataMember]
        public int? Take { get; set; }

        #endregion
    }
}